package com.konne.nightmare.FastPublicOpinion.mvp.presenter;

import androidx.annotation.NonNull;

import com.konne.nightmare.FastPublicOpinion.base.BaseMvpPresenter;
import com.konne.nightmare.FastPublicOpinion.mvp.view.ICGFreeView;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;

import io.reactivex.Observable;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;

/**
 * Create by ws.
 * on Data:2022/1/25  Time:下午 1:23.
 * description: ** .
 */
public class CGFreePresenter extends BaseMvpPresenter<ICGFreeView> {

    public void init() {
        List<String> datas = new ArrayList<>();
        datas.add("11月20日  周一      20:30");
        datas.add("11月21日  周二      20:30");
        datas.add("11月22日  周三      20:30");
        datas.add("11月23日  周四      20:30");
        datas.add("11月24日  周五      20:30");
        datas.add("11月25日  周六      20:30");
        datas.add("11月26日  周日      20:30");

        getView().initWheelView(datas);
    }

    private Disposable disposable;

    public void submit() {
        int time = 5;
         Observable.interval(0, 1, TimeUnit.SECONDS)
                .take(time + 1)
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<Long>() {
                    @Override
                    public void onSubscribe(@NonNull Disposable d) {
                        disposable=d;
                    }

                    @Override
                    public void onNext(@NonNull Long aLong) {
                        getView().load((int) (time - aLong), time);

                    }

                    @Override
                    public void onError(@NonNull Throwable e) {

                    }

                    @Override
                    public void onComplete() {
                        getView().loadEnd();
                    }
                });
    }

    @Override
    public void detachMvpView() {
        super.detachMvpView();
        if (disposable != null) {
            disposable.dispose();
        }
    }
}
